package org.jetbrains.debugger;

import com.intellij.openapi.util.AsyncResult;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.debugger.values.FunctionValue;
import org.jetbrains.debugger.values.ObjectValue;
import org.jetbrains.debugger.values.Value;

public abstract interface ObjectProperty
  extends Variable
{
  public abstract boolean isWritable();
  
  @Nullable
  public abstract FunctionValue getGetter();
  
  @Nullable
  public abstract FunctionValue getSetter();
  
  public abstract boolean isConfigurable();
  
  public abstract boolean isEnumerable();
  
  @NotNull
  public abstract AsyncResult<Value> evaluateGet(@NotNull ObjectValue paramObjectValue, @NotNull EvaluateContext paramEvaluateContext);
}


/* Location:           E:\idea\
 * Qualified Name:     org.jetbrains.debugger.ObjectProperty
 * JD-Core Version:    0.7.0.1
 */